#define _CRT_SECURE_NO_WARNINGS 1
#include <stdlib.h>
#include <stdio.h>
//typedef struct S
//{
//    int index;
//    int num;
//}S;
//int cmp(const void* e1, const void* e2)
//{
//    return ((S*)e1)->num > ((S*)e2)->num;
//}
//int main()                           
//{
//	int mat[5][5] = { 1,1,0,0,0,1,1,1,1,0,1,0,0,0,0,1,1,0,0,0,1,1,1,1,1 };
//	int matSize = sizeof(mat) / sizeof(mat[0]);
//	int matcolSize = sizeof(mat[0]) / sizeof(mat[0][0]);
//	int* matColSize = &matcolSize;
//	int k = 3;
//    int x = 0;
//    int* returnSize = &x;
//    S* arr = (S*)malloc(sizeof(S) * matSize);
//    *returnSize = 0;
//    for (int i = 0; i < matSize; ++i)
//    {
//        int l = -1;
//        int r = *matColSize;
//        while (l + 1 != r)                                         
//        {
//            int mid = l + (r - l) / 2;
//            if (mat[i][mid])
//            {
//                l = mid;
//            }
//            else
//            {
//                r = mid;
//            }
//        }
//        arr[*returnSize].index = i;
//        arr[(*returnSize)++].num = l;
//    }
//    qsort(arr, *returnSize, sizeof(arr[0]), cmp);
//    int* ans = (int*)malloc(k * sizeof(int));
//    for (int i = 0; i < k - 1; ++i)
//    {
//        if (arr[i].num == arr[i + 1].num)
//        {
//            if (arr[i].index > arr[i + 1].index)
//            {
//                int tmp = arr[i].index;
//                arr[i].index = arr[i + 1].index;
//                arr[i + 1].index = tmp;
//            }
//        }
//    }
//    for (int i = 0; i < k; ++i)
//    {
//        ans[i] = arr[i].index;
//    }
//    free(ans);
//    free(arr);
//    return 0;   
//    
//   
//}


//int main()
//{
//	int x = -1;
//	int cnt = 0;
//	while (x)
//	{
//		++cnt;
//		x = x >> 1;
//	}
//	printf("%d\n", cnt);
//	return 0;
//}
//
//
//
//typedef struct Fre
//{
//    int cnt;
//    int num;
//}S;
//int cmp(const void* e1, const void* e2)
//{
//    return *(int*)e1 - *(int*)e2;
//}
//int cmmp(const void* e1, const void* e2)
//{
//    return ((S*)e1)->cnt > ((S*)e2)->cnt;
//}
//void swap(int* e1, int* e2)
//{
//    int tmp = *e1;
//    *e1 = *e2;
//    *e2 = tmp;
//}
//int main()
//{
//    int nums[] = { 8,-8,2,-8,-5,-3};
//    int numsSize = sizeof(nums) / sizeof(nums[0]);
//    qsort(nums, numsSize, 4, cmp);
//    S* arr = (S*)malloc(sizeof(S) * numsSize);
//    int index = 0;
//    arr[index].num = nums[0];
//    arr[index].cnt = 1;
//    for (int i = 1; i < numsSize; ++i)
//    {
//        if (nums[i] == nums[i - 1])
//        {
//            arr[index].cnt++;
//        }
//        else
//        {
//            arr[++index].num = nums[i];
//            arr[index].cnt = 1;
//        }
//        if (i == numsSize - 1)
//        {
//            ++index;
//        }
//    }
//    qsort(arr, index, sizeof(arr[0]), cmmp);
//    int* ans = (int*)calloc(numsSize, 4);
//    for (int i = 0; i < index; ++i)
//    {
//        int flag = 1;
//        for (int j = 0; j < index - i; ++j)
//        {
//            if (arr[j].cnt == arr[j + 1].cnt)
//            {
//                if (arr[j].num < arr[j + 1].num)
//                {
//                    swap(&arr[j].num, &arr[j + 1].num);
//                    flag = 0;
//                }
//            }
//        }
//        if (flag)
//        {
//            break;
//        }
//    }
//    int j = 0;
//    for (int i = 0; i < index; ++i)
//    {
//        while (arr[i].cnt)
//        {
//            ans[j++] = arr[i].num;
//            arr[i].cnt--;
//        }
//    }
//    free(arr);
//    free(ans);
//    return 0;
//}

//
//int main()
//{
//    char solution[] = "RGRB";
//    char guess[] = "BBBY";
//    int* ans = (int*)calloc(2, 4);
//    char arr[4] = { 0 };
//    int index = 0;
//    for (int i = 0; solution[i]; ++i)
//    {
//        for (int j = 0; guess[j]; ++j)
//        {
//            if (solution[i] == guess[j] && i == j)
//            {
//                ++ans[0];
//            }
//            else if (solution[i] == guess[j])
//            {
//                int f = 1;
//                for (int x = 0; x < index; ++x)
//                {
//                    if (guess[j] == arr[i])          
//                    {
//                        f = 0;
//                        break;
//                    }
//                }
//                if (f)
//                {
//                    ++ans[1];
//                    arr[index++] = guess[j];
//                }
//            }
//        }
//    }
//	return 0;
//}

//
//int main()
//{
//	int n = 0;
//	while (scanf("%d", &n) == 1)
//	{
//		for (int i = 0; i < n; ++i)
//		{
//			for (int j = 0; j < n; ++j)
//			{
//				if (j == n / 2 + i || j == n / 2 - i || i == n - 1)
//				{
//					printf("*    ");
//				}
//				else
//				{
//					printf("     ");
//				}
//			}
//			printf("\n");
//		}
//	}
//	return 0;
//}


int main()
{
	for (int i = 1; i * i <= 16 * 81; ++i)
	{
		if (i * i == 16 * 81)
		{
			printf("%d\n", i);
		}
	}
	return 0;
}